package com.bigzero.workflow.modules.system.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.bigzero.workflow.modules.system.dto.RoleDto;
import com.bigzero.workflow.modules.system.entity.RoleEntity;
import com.bigzero.workflow.modules.system.query.RoleQuery;
import com.bigzero.workflow.modules.system.vo.RoleVo;

import java.util.List;

/**
 * 角色service
 * @Author: fanxinxiong
 * @Date: 2025-02-11 14:48:00
 */
public interface RoleService extends IService<RoleEntity>{

    /**
     * 删除角色
     */
    void deleteRole(String roleId);

    void deleteBatch(List<String> roleIds);

    List<String> getRoleCodeByUserCode(String userCode);

    List<String> getUserCodeByRoleCode(String roleCode);

    /**
     * 角色分页列表
     *
     * @param roleQuery 参数
     * @return 列表
     */
    List<RoleVo> queryPage(RoleQuery roleQuery);

    /**
     * 获取所有实体集合
     * @return List<RoleEntity>
     */
    List<RoleEntity> getAllEntityList();

    /**
     * 根据id获取vo对象
     * @param id 主键id
     * @return UserVo
     */
    RoleVo getVoById(String id);

    /**
     * 新增或者修改角色
     * @param roleDto 角色dto
     * @return int
     */
    int insertOrUpdate(RoleDto roleDto);

    /**
     * 根据id删除用户
     * @param id 主键id
     * @return int
     */
    int deleteById(String id);
}
